#include<bits/stdc++.h>
using namespace std;
int a[101];
int n;
void print(){
	bool flag = 0;
	for(int i=2;i<=n;i++){
		if(flag == 1 && a[i] > 0){
			cout<<"*";
		}
		if(a[i] > 0){
			flag = 1;
		}
		if(a[i] == 1){
			cout<<i;
		}else	if(a[i] > 1){
			cout<<i<<"^"<<a[i];
		}

}
void dfs(int x,int step){
	if(x == 1)  return ;
	
	if(x%step == 0){
		a[step]++;
		dfs(x/step,step);
	}else{
		dfs(x,step+1);
	}
}
int main(){
	cin>>n;
	dfs(n,2);
	print();
//	for(int i=1;i<10;i++){
//		cout<<a[i]<<" ";
//	} 
	return 0;
}
